int i;
tree_rules = _gtk_css_selector_tree_match_all (provider->priv->tree, matcher);
- verify_tree_match_results (provider, matcher, tree_rules);
-
- for (i = tree_rules->len - 1; i >= 0; i--)
+ if (tree_rules)
{
- GtkCssRuleset *ruleset;
+ verify_tree_match_results (provider, matcher, tree_rules);
+
+ for (i = tree_rules->len - 1; i >= 0; i--)
+ {
+ GtkCssRuleset *ruleset;
- ruleset = tree_rules->pdata[i];
+ ruleset = tree_rules->pdata[i];
+
+ verify_change |= _gtk_css_selector_get_change (ruleset->selector);
+ }
- verify_change |= _gtk_css_selector_get_change (ruleset->selector);
+ g_ptr_array_free (tree_rules, TRUE);
}
if (change != verify_change)
g_warning (s->str);
g_string_free (s, TRUE);
}
-
- g_ptr_array_free (tree_rules, TRUE);
}
#endif
}
}
tree_rules = _gtk_css_selector_tree_match_all (priv->tree, &matcher);
- verify_tree_match_results (css_provider, &matcher, tree_rules);
-
- prop_name = g_strdup_printf ("-%s-%s",
- g_type_name (pspec->owner_type),
- pspec->name);
-
- for (i = tree_rules->len - 1; i >= 0; i--)
+ if (tree_rules)
{
- GtkCssRuleset *ruleset = tree_rules->pdata[i];
+ verify_tree_match_results (css_provider, &matcher, tree_rules);
- if (ruleset->widget_style == NULL)
- continue;
+ prop_name = g_strdup_printf ("-%s-%s",
+ g_type_name (pspec->owner_type),
+ pspec->name);
- for (val = ruleset->widget_style; val != NULL; val = val->next)
- {
- if (strcmp (val->name, prop_name) == 0)
- {
- GtkCssScanner *scanner;
-
- scanner = gtk_css_scanner_new (css_provider,
- NULL,
- val->section,
- val->section != NULL ? gtk_css_section_get_file (val->section) : NULL,
- val->value);
+ for (i = tree_rules->len - 1; i >= 0; i--)
+ {
+ GtkCssRuleset *ruleset = tree_rules->pdata[i];
- found = _gtk_css_style_funcs_parse_value (value,
- scanner->parser);
+ if (ruleset->widget_style == NULL)
+ continue;
- gtk_css_scanner_destroy (scanner);
+ for (val = ruleset->widget_style; val != NULL; val = val->next)
+ {
+ if (strcmp (val->name, prop_name) == 0)
+ {
+ GtkCssScanner *scanner;
+
+ scanner = gtk_css_scanner_new (css_provider,
+ NULL,
+ val->section,
+ val->section != NULL ? gtk_css_section_get_file (val->section) : NULL,
+ val->value);
+ found = _gtk_css_style_funcs_parse_value (value, scanner->parser);
+ gtk_css_scanner_destroy (scanner);
+ break;
+ }
+ }
- break;
- }
- }
+ if (found)
+ break;
+ }
- if (found)
- break;
+ g_free (prop_name);
+ g_ptr_array_free (tree_rules, TRUE);
}
- g_free (prop_name);
- g_ptr_array_free (tree_rules, TRUE);
gtk_widget_path_unref (path);
return found;
priv = css_provider->priv;
tree_rules = _gtk_css_selector_tree_match_all (priv->tree, matcher);
- verify_tree_match_results (css_provider, matcher, tree_rules);
-
- for (i = tree_rules->len - 1; i >= 0; i--)
+ if (tree_rules)
{
- ruleset = tree_rules->pdata[i];
+ verify_tree_match_results (css_provider, matcher, tree_rules);
- if (ruleset->styles == NULL)
- continue;
-
- if (!_gtk_bitmask_intersects (_gtk_css_lookup_get_missing (lookup),
- ruleset->set_styles))
- continue;
-
- for (j = 0; j < ruleset->n_styles; j++)
+ for (i = tree_rules->len - 1; i >= 0; i--)
{
- GtkCssStyleProperty *prop = ruleset->styles[j].property;
- guint id = _gtk_css_style_property_get_id (prop);
+ ruleset = tree_rules->pdata[i];
- if (!_gtk_css_lookup_is_missing (lookup, id))
+ if (ruleset->styles == NULL)
continue;
- _gtk_css_lookup_set (lookup,
- id,
- ruleset->styles[j].section,
- ruleset->styles[j].value);
+ if (!_gtk_bitmask_intersects (_gtk_css_lookup_get_missing (lookup),
+ ruleset->set_styles))
+ continue;
+
+ for (j = 0; j < ruleset->n_styles; j++)
+ {
+ GtkCssStyleProperty *prop = ruleset->styles[j].property;
+ guint id = _gtk_css_style_property_get_id (prop);
+
+ if (!_gtk_css_lookup_is_missing (lookup, id))
+ continue;
+
+ _gtk_css_lookup_set (lookup,
+ id,
+ ruleset->styles[j].section,
+ ruleset->styles[j].value);
+ }
+
+ if (_gtk_bitmask_is_empty (_gtk_css_lookup_get_missing (lookup)))
+ break;
}
- if (_gtk_bitmask_is_empty (_gtk_css_lookup_get_missing (lookup)))
- break;
+ g_ptr_array_free (tree_rules, TRUE);
}
- g_ptr_array_free (tree_rules, TRUE);
-
if (change)
{
GtkCssMatcher change_matcher;